Grounding Synchronous Deterministic Concurrency in Sequential Programming
نویسندگان
چکیده
Using a new domain-theoretic characterisation we show that Berry’s constructive semantics is a conservative approximation of the recently proposed sequentially constructive (SC) model of computation. We prove that every Berry-constructive program is deterministic and deadlock-free under sequentially admissible scheduling. This gives, for the first time, a natural interpretation of Berry-constructiveness for shared-memory, multi-threaded programming in terms of synchronous cycle-based scheduling, where previous results were cast in terms of synchronous circuits. This opens the door to a direct mapping of Esterel’s signal mechanism into boolean variables that can be set and reset under the programmer’s control within a tick. We illustrate the practical usefulness of this mapping by discussing how signal reincarnation is handled efficiently by this transformation, which is of linear complexity in program size, in contrast to earlier techniques that had quadratic overhead.
منابع مشابه
Programming Distributed Reactive Systems: a Strong and Weak Synchronous Coupling
Reactive and real-time systems often require temporal and logical safety, concurrency and determinism. Several asynchronous and strong synchronous answers have been proposed to this problem. However , asynchronous languages such as CSP or CCS force the user to choose between determinism and concurrency, for they base concur-rency on asynchronous implementation models where processes non-determi...
متن کاملA Submitted to Special Issue on Application of Concurrency to System Design Sequentially Constructive Concurrency— A Conservative Extension of the Synchronous Model of Computation
Synchronous languages ensure determinate concurrency, but at the price of restrictions on what programs are considered valid, or constructive. Meanwhile, sequential languages such as C and Java offer an intuitive, familiar programming paradigm but provide no guarantees with regard to determinate concurrency. The sequentially constructive (SC) model of computation (MoC) presented here harnesses ...
متن کاملCOREA: A Synchronous Calculus of Parallel Communicating Reactive Automata
Reactive systems often require temporal and logical safety , concurrency and determinism. Several asynchronous or strong synchronous answers have been proposed to this problem. However, \asyn-chronous" languages such as CSP or CCS generally force the user to choose between determinism and concurrency. On the other hand, strong synchronous implementations are mainly sequential. The aim of this p...
متن کاملVerification of GALS Systems by Combining Synchronous Languages and Process Calculi
A Gals (Globally Asynchronous Locally Synchronous) system typically consists of a collection of sequential, deterministic components that execute concurrently and communicate using slow or unreliable channels. This paper proposes a general approach for modelling and verifying Gals systems using a combination of synchronous languages (for the sequential components) and process calculi (for commu...
متن کاملProgramming Communicating Distributed Reactive Automata: the Weak Synchronous Paradigm
The aim of this paper is to present a new paradigm for reactive and real-time distributed programming: weak synchronism. We deene a small language for communicating reactive automata, and characterize it by an operational semantics. We show that weak synchro-nism provides a deterministic semantics of concurrency and allows physical distributed implementations. This weak synchronous paradigm can...
متن کامل